【Clojure入門】 開発環境とREPL駆動開発
Clojureで本格的な開発を行うにあたり、これまでのようにエディタでソースコードを編集し、REPLまたはコマンドラインから実行する、という操作を繰り返すこともできますが、開発環境としてREPLと統合されたエディタまたはIDEをセットアップして「REPL駆動開発」(REPL-driven development)という開発スタイルを実践すると、Clojureの良さを最大限に引き出すことができて非常に効率的です。
開発環境
また、最近までにAtomやVisual Studio Codeにも有用なプラグインが登場しています。
ここまでの節で準備したビルドツールのほかに、お好みのエディタ/IDEに以下のプラグインを設定するのがオススメです。
REPL接続、シンタックスハイライト、定義ジャンプなどなど各種Clojure開発支援機能
Lisp (S式)の効率的な"structural editing"(構造編集)を実現
対応する括弧を見やすく表示
REPL駆動開発
JavaやScalaでの開発とは大きく異なり、Clojure開発ではメインの開発環境としてのREPLを非常に重視しています。
REPLをエディタ/IDEに接続し、プロジェクトの環境に入り込み、コード変更を素早くREPLに反映させて動作を確かめながら確実に動くコードを積み上げるようにプログラムを書いていきます。
例えばEmacsのCIDERを利用している場合、プロジェクトのClojureファイルをエディタで開いた状態で M-x cider-jack-in (デフォルトのキーバインドでは C-c M-j)と入力することでClojureプロジェクトがREPLに接続されます。 https://gyazo.com/aea119e0e20241f7c22af656bda29bb6
この状態になれば、あとはコードを局所的に評価する、コードをREPLに送る、ドキュメントやソースを読む、定義ジャンプするなどプラグインの提供している各種機能を活用して便利に開発を進められるようになります。
以降の節ではREPLでの動作例を示しながらClojureの基本機能を学んでいきますが、あらかじめ手元にClojureプロジェクトを用意して、REPLをエディタ/IDEに接続した状態で実際に試しながら進めていくと良いでしょう。